const preFile = async (httpFn: Function, params: any) => {
  const res = await httpFn(params)
  console.log(JSON.stringify(res))
  if (res.code == 200) {
    const url = res.result[0].openUrl
    if (url.indexOf('pdf') > -1 || url.indexOf('word') > -1) {
      uni.downloadFile({
        url: url,
        success: function (res) {
          if (res.statusCode === 200) {
            // 下载成功
            const filePath = res.tempFilePath // 下载后的临时文件路径
            uni.saveFile({
              tempFilePath: filePath,
              success: function (listRes) {
                //此API是为了拿到文件保存的详细路径
                plus.io.requestFileSystem(
                  plus.io.PRIVATE_DOC,
                  function (fs) {
                    // 拿到 _doc 所在的完整路径
                    console.log(fs.root.fullPath)
                    //弹出文件保存路径
                  },
                  function (e) {
                    console.log('Request file system failed: ' + e.message)
                  },
                )
                //保存成功后,调用文件打开方法
                uni.openDocument({
                  filePath,
                  success: function (file) {
                    console.log('file-success', file)
                  },
                })
              },
              fail: function (err) {
                // 保存文件失败
                uni.showToast({
                  title: '保存文件失败',
                  icon: 'none',
                })
              },
            })
          } else {
            // 下载失败
            uni.showToast({
              title: '下载失败',
              icon: 'none',
            })
          }
        },
        fail: function (err) {
          // 下载请求失败
          uni.showToast({
            title: '下载请求失败',
            icon: 'none',
          })
        },
      })
    } else {
      uni.previewImage({
        urls: [url],
      })
    }
  }
}

export { preFile }
